package day1_array.leetcode;

/**
 * 快慢指针删除重复元素
 * @author yuisama
 * @date 2022/04/19 14:43
 **/
public class Num26_RemoveDuplicates {
    public int removeDuplicates(int[] nums) {
        // 数组为空或者只有一个元素，直接返回数组长度即可。
        if(nums.length <= 1) {
            return nums.length;
        }
        // 快慢指针
        int low = 0,fast = 0;
        // 维护有效元素就是nums[0...low]
        while (fast < nums.length) {
            if (nums[low] != nums[fast]) {
                nums[++low] = nums[fast];
            }
            fast ++;
        }
        // 长度为low + 1
        return low + 1;
    }
}